package edu.tgc.entity.hrm;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.ManyToOne;
import javax.persistence.MappedSuperclass;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import edu.tgc.entity.hrm.dictionary.HrmEducationType;
import edu.tgc.entity.hrm.dictionary.HrmEmployeeStatus;
import edu.tgc.entity.system.BaseAuditableDateEntity;

@MappedSuperclass
public class HrmEmployee extends BaseAuditableDateEntity {

    private static final long serialVersionUID = 5639725160815449930L;
    
    // 地址
    protected String address;
    // 学历
    protected HrmEducationType education;
    // Email
    protected String email;
    // 入职时间
    protected Date hireDate;
    // 离职时间
    protected Date leaveDate;
    // 专业
    protected String major;
    // QQ
    protected String qq;
    // 员工状态
    protected HrmEmployeeStatus status;
    // 手机号
    protected String telphone;

    @Column(length = 63)
    public String getAddress() {
        return this.address;
    }


    @ManyToOne
    public HrmEducationType getEducation() {
        return this.education;
    }

    @Column(length = 63)
    public String getEmail() {
        return this.email;
    }

    @Temporal(value = TemporalType.DATE)
    public Date getHireDate() {
        return this.hireDate;
    }


    @Temporal(value = TemporalType.DATE)
    public Date getLeaveDate() {
        return this.leaveDate;
    }

    @Column(length = 31)
    public String getMajor() {
        return this.major;
    }

    @Column(length = 31)
    public String getQq() {
        return this.qq;
    }


    @ManyToOne
    public HrmEmployeeStatus getStatus() {
        return this.status;
    }

    @Column(length = 31)
    public String getTelphone() {
        return this.telphone;
    }

    public void setAddress(String address) {
        this.address = address;
    }

 
    public void setEducation(HrmEducationType education) {
        this.education = education;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public void setHireDate(Date hireDate) {
        this.hireDate = hireDate;
    }

    public void setLeaveDate(Date leaveDate) {
        this.leaveDate = leaveDate;
    }

    public void setMajor(String major) {
        this.major = major;
    }

    public void setQq(String qq) {
        this.qq = qq;
    }


    public void setStatus(HrmEmployeeStatus status) {
        this.status = status;
    }

    public void setTelphone(String telphone) {
        this.telphone = telphone;
    }


    
}
